'''需求
 1.士兵 许三多 有一把 AK47
 2.士兵 可以 开火
 3.枪 能够 发射 子弹
 4.枪 装填 装填子弹 —— 增加子弹数量

'''

import time


class Gun:
    def __init__(self, name, bullet):
        self.type = name
        self.bullet = bullet

    def fire(self, num=1):
        self.bullet -= num
        print(f'发射了{num}颗子弹')
        while self.bullet < 1:
            print('正在装载子弹请稍后')
            time.sleep(1)
            self.load()
            print('装载完毕')

    def load(self):
        self.bullet += 10


class Soldier:
    def __init__(self, name, gun):
        self.name = name
        self.gun = gun

    def shoot(self, num):
        self.gun.fire(num)


if __name__ == '__main__':
    xsd = Soldier('许三多', Gun('ak47', 10))
    xsd.shoot(9)
    xsd.shoot(9)
